package edu.ensabap.matricula.action;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.opensymphony.xwork2.ActionSupport;

import edu.ensabap.matricula.bean.JoaquinDTO;
import edu.ensabap.matricula.service.JoaquinService;

public class JoaquinAction  extends ActionSupport{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	
//	importar el service edgar
	@Autowired
	private JoaquinService joaquinService;
	
//	variables creadas
	private List<JoaquinDTO> listaJoaquin;
	
//	instancia para listar
	private JoaquinDTO joaquinDTO;
	
//	instancia para modificar
	private JoaquinDTO joaquinDTOModificar;
	
//	instancia para eliminar
	private JoaquinDTO joaquinDTOEliminar;
	
//	instancia para insertar
	private JoaquinDTO joaquinDTOInsertar;
	
	
	private String mensajeGEneral;
	
//	CREAR UN CONSTRUCTOR QUE IUNICIALIZE LAS VARIABLES
	public JoaquinAction(){
		
		joaquinDTO = new JoaquinDTO();
		joaquinDTOInsertar = new JoaquinDTO();
		joaquinDTOEliminar = new JoaquinDTO();
		joaquinDTOModificar = new JoaquinDTO();
		
		listaJoaquin = new ArrayList<JoaquinDTO>();
	}
	
	
	
	
	public String dialogRegistrar(){
		return SUCCESS;
	}
	
	
	
	
//	abre la primera ventana
	public String abreIndexJoaquin(){
	
		JoaquinDTO joaquin= new JoaquinDTO();
		listaJoaquin=joaquinService.listarJoaquin(joaquin);
		return SUCCESS;
	}


//metodo que inserta
	public String registrarJ(){
//		valido si los datos no son vacios
		System.out.println("JOAQUIN A INSERTAR TIENE EL SIGUIENTE CODIGO :"+joaquinDTOInsertar.getCodigo()+"   ////////");
		if (joaquinDTOInsertar.getCodigo().trim().equals("")){
			mensajeGEneral="NO SE AH INSERTADO NINGUN JOAQUIN";
			addActionError(mensajeGEneral);
		}else{
			int resultado=-1;
			
			resultado = joaquinService.insertarJoaquin(joaquinDTOInsertar);
			if(resultado>0){
				mensajeGEneral="El alumno se ingreso correctamente";
				addActionMessage(mensajeGEneral);
			}else{
				mensajeGEneral="No se inserto ningun registro";
				addActionError(mensajeGEneral);
			}
			
			joaquinDTOInsertar.setCodigo("");
			JoaquinDTO joaquin= new JoaquinDTO();
			listaJoaquin=joaquinService.listarJoaquin(joaquin);
		}
		
		return SUCCESS;
	}

	//metodo que busca
	
	public String buscarJoaquin(){
			
		listaJoaquin=joaquinService.listarJoaquin(joaquinDTO);
		
		return SUCCESS;
	}
	
	
//	metodo que eliminar
	public String eliminarJoaquin(){
		int resultado=-1;
		resultado = joaquinService.eliminarJoaquin(joaquinDTOEliminar);
		if(resultado>0){
			mensajeGEneral="El se elimino correctamente";
			addActionMessage(mensajeGEneral);
		}else{
			mensajeGEneral="No se elimino ningun edgar";
			addActionError(mensajeGEneral);
		}
		
		JoaquinDTO joaquin= new JoaquinDTO();
		listaJoaquin=joaquinService.listarJoaquin(joaquin);
		return SUCCESS;
	}

	
//	MODIFICAR
	
//	abre la ventana modificar
	
	public String abrirModificarJoaquin(){
		
		System.out.println("entro al action de editar");
		joaquinDTOModificar = joaquinService.obtenerJoaquinXID(joaquinDTOModificar);
		
		return SUCCESS;
	}

//	modifica Edgar
	public String modificarJoaquin(){
		System.out.println("ingreso al action modificar");
		
		System.out.println("el nombre es  :"+joaquinDTOModificar.getId());
		System.out.println("el nombre es  :"+joaquinDTOModificar.getNombre());
		System.out.println("el nombre es  :"+joaquinDTOModificar.getCodigo());
		
		int resultado=-1;
		resultado = joaquinService.modificarJoaquin(joaquinDTOModificar);
		if(resultado>0){
			mensajeGEneral="Se modifico correctamente";
			addActionMessage(mensajeGEneral);
		}else{
			mensajeGEneral="No se pudo moodificar";
			addActionError(mensajeGEneral);
		}
		
		JoaquinDTO joaquin= new JoaquinDTO();
		listaJoaquin=joaquinService.listarJoaquin(joaquin);
		return SUCCESS;
	}
	

	
//	GETTER Y SETTERS
	
	public List<JoaquinDTO> getListaJoaquin() {
		return listaJoaquin;
	}

	public void setListaJoaquin(List<JoaquinDTO> listaJoaquin) {
		this.listaJoaquin = listaJoaquin;
	}

	public JoaquinDTO getJoaquinDTO() {
		return joaquinDTO;
	}

	public void setJoaquinDTO(JoaquinDTO joaquinDTO) {
		this.joaquinDTO = joaquinDTO;
	}

	public JoaquinDTO getJoaquinDTOModificar() {
		return joaquinDTOModificar;
	}

	public void setJoaquinDTOModificar(JoaquinDTO joaquinDTOModificar) {
		this.joaquinDTOModificar = joaquinDTOModificar;
	}

	public JoaquinDTO getJoaquinDTOEliminar() {
		return joaquinDTOEliminar;
	}

	public void setJoaquinDTOEliminar(JoaquinDTO joaquinDTOEliminar) {
		this.joaquinDTOEliminar = joaquinDTOEliminar;
	}

	public JoaquinDTO getJoaquinDTOInsertar() {
		return joaquinDTOInsertar;
	}

	public void setJoaquinDTOInsertar(JoaquinDTO joaquinDTOInsertar) {
		this.joaquinDTOInsertar = joaquinDTOInsertar;
	}

	public String getMensajeGEneral() {
		return mensajeGEneral;
	}

	public void setMensajeGEneral(String mensajeGEneral) {
		this.mensajeGEneral = mensajeGEneral;
	}
	
}
